Redundant data storage systems may distribute data across a plurality of storage devices that may be referred to as a redundant array of independent disks (RAID). The RAID array may be controlled by a central controller referred to as a RAID controller, which receives write commands, generates parity codes, stores the data to be written on the RAID array, along with the parity codes. In the event of data loss, the RAID controller may regenerate the lost data from the parity codes.
In such a system, the RAID controller may be costly, and may act as a bottleneck, reducing efficiency.